package com.xyz.basesdk.utils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 * @author mac
 *         on 2017/12/12.
 */

public class DateUtil {
    /**
     * 格式化时间
     *
     * @param time 时间戳
     * @return yyyy-MM-dd HH:mm:ss
     */
    public static String timeFormatForAll(long time) {
        if (0 == time) {
            return "";
        }
        SimpleDateFormat spf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
        Date date = new Date(time);
        return spf.format(date);
    }

    /**
     * 格式化时间
     *
     * @param time 时间戳
     * @return yyyy-MM-dd
     */
    public static String timeFormatForYMd(long time) {
        if (0 == time) {
            return "";
        }
        SimpleDateFormat spf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
        Date date = new Date(time);
        return spf.format(date);
    }

    /**
     * 格式化时间
     *
     * @param time 时间戳
     * @return yyyyMMdd
     */
    public static String timeFormatForYMd2(long time) {
        if (0 == time) {
            return "";
        }
        SimpleDateFormat spf = new SimpleDateFormat("yyyyMMdd", Locale.getDefault());
        Date date = new Date(time);
        return spf.format(date);
    }

    /**
     * 时间格式化
     *
     * @param time 时间戳
     * @return 10月1日 上午10:20
     */
    public static String timeFormatForMdOfAmOrPm(long time) {
        if (time <= 0) {
            return "";
        }

        SimpleDateFormat format = new SimpleDateFormat("MM月dd日 ahh:mm", Locale.getDefault());
        return format.format(time);
    }

    /**
     * 时间格式化
     *
     * @param time 时间戳
     * @return 10:20
     */
    public static String timeFormatForHm(long time) {
        if (time <= 0) {
            return "";
        }
        SimpleDateFormat format = new SimpleDateFormat("HH:mm", Locale.getDefault());
        return format.format(time);
    }

    /**
     * 时间格式化
     *
     * @param time 时间戳
     * @return 2017年10月
     */
    public static String timeFormatForYM(long time) {
        if (time <= 0) {
            return "";
        }
        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月", Locale.getDefault());
        return format.format(time);
    }

    /**
     * 时间格式化
     *
     * @param time 时间戳
     * @return 2017
     */
    public static String timeFormatForY(long time) {
        if (time <= 0) {
            return "";
        }
        SimpleDateFormat format = new SimpleDateFormat("yyyy", Locale.getDefault());
        return format.format(time);
    }

    /**
     * 时间格式化
     *
     * @param time 时间戳
     * @return 周三
     */
    public static String timeFormatForWeek(long time) {
        if (time <= 0) {
            return "";
        }
        SimpleDateFormat format = new SimpleDateFormat("EEE", Locale.getDefault());
        return format.format(time);
    }

    /**
     * 时间格式化
     *
     * @param time 时间戳
     * @return 本月几号, 例如返回1代表本月1号
     */
    public static String timeFormatFord(long time) {
        if (time <= 0) {
            return "";
        }
        SimpleDateFormat format = new SimpleDateFormat("dd", Locale.getDefault());
        return format.format(time);
    }

    /**
     * 时间格式化
     *
     * @param time 时间戳
     * @return 月份, 例如10月
     */
    public static String timeFormatForM(long time) {
        if (time <= 0) {
            return "";
        }
        SimpleDateFormat format = new SimpleDateFormat("MM月", Locale.getDefault());
        return format.format(time);
    }

    /**
     * 时间转换,秒转分
     * @param time 秒
     * @return 分,不足60秒按一分计算
     */
    public static String timeSecondToMinute(float time) {
        if (time < 60) {
            return "1";
        }
        return String.valueOf((int) Math.ceil(time / 60));
    }

}
